package sz.szsmk.citizencard.mvp.contract;

import sz.szsmk.citizencard.model.network.bean.response.AuthorBean;
import sz.szsmk.citizencard.model.network.bean.response.CheckThirdAppUserRes;
import sz.szsmk.citizencard.model.network.bean.response.OauthTokenRes;
import sz.szsmk.citizencard.model.network.bean.response.UserBean;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/5/22 15:42
 * description:
 */
public interface ILoginContact {

    interface ILoginPresenter<T extends IBaseContact.IBaseView>
            extends IBaseContact.IBasePresenter {
        void sendMainRequest();

        void login(String userPsd, String userPhone);

        void author(final String accessToken);

        void checkThirdAppUser(String i, String openid, String androidId);

        void oauthToken();

        void thirdAppLogin(int i, String mobile, String setPsdEtSure, String uid);

        void selectUserAuth(String gjj);

        void checkSuccessOrderStatus();

    }

    interface ILoginView extends IBaseContact.IBaseView {

        void checkSuccessOrderStatusSucc();

        void checkSuccessOrderStatusFail();

        // 获得数据失败
        void updataError(String message);

        // 获得数据成功
        void updataSuccess(UserBean loginResponse);

        void loginFalie(UserBean loginResponse);

        void loginError(String string);

        // 获得数据成功
        void authorSuccess(AuthorBean authorBean);

        void authorFalie(AuthorBean authorBean);

        void authorError(String string);

        void checkThirdAppUserSucc(CheckThirdAppUserRes response, String i);

        void checkThirdAppUserFail();

        void thirdAppLoginSucc();

        void thirdAppLoginFail(String message);

        void oauthTokenSucc(OauthTokenRes response);

        void oauthTokenFail();

        void selectUserAuthFail();

        void selectUserAuthSucc();
    }


}
